It is commonplace for a user to want to install new software and/or upgrade existing software within an existing computing system, as well as install new hardware and/or upgrade existing hardware within such a computing system. For example, a user may wish to install a new computer program that provides functionality not provided by any existing software within a computing system, and/or upgrade an existing computer program already installed within the computing system with a newer version of this software. As another example, a user may wish to install a new hardware component that provides functionality not provided by any existing hardware within a computing system, and/or upgrade an existing hardware component already installed within the computing system with a different version of this hardware.